home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / util / misc / fidlib70.lha / FileID_Library / include / libraries / FileID.i < prev   
Text File  |  1995-08-21  |  4KB  |  142 lines

  1.     IFND    LIBRARIES_FILEID_I
  2. LIBRARIES_FILEID_I    SET    1
  3.  
  4. **
  5. **    $VER: FileID.i 7.0
  6. **
  7. **    Standard asm definitions for FileID.library
  8. **
  9. **    (C) Copyright 1993-1995 BLOODROCK of SYNDICATE
  10. **        All Rights Reserved
  11. **
  12.  
  13.     IFND EXEC_LIBRARIES_I
  14.     INCLUDE    "exec/libraries.i"
  15.     ENDC
  16.  
  17.  
  18. FILEIDNAME    Macro
  19.         dc.b    "FileID.library",0
  20.         EndM
  21.  
  22. FILEIDVERSION    EQU    7
  23.  
  24. * IMPORTANT NOTE: PLEASE DO NOT USE V1.0 ! IT HAS A VERY HARD BUG ! *
  25. * ALWAYS OPEN FILEID.LIBRARY WITH VERSION == 2 OR HIGHER ! *
  26.  
  27. *
  28. * FI_FileInfo Structure *
  29. *
  30. * Note: The fields FI_DLPackNum, FI_DLPackType and FI_PackFlags are only
  31. * filled if the file type is one of the crunchers as identified by the
  32. * Decrunch.library.
  33. *
  34.  
  35.  
  36.  STRUCTURE    FI_FileInfo,0
  37.    APTR        FI_Description        ; Pointer to a file description string
  38.    UWORD    FI_ID            ; file type ID number
  39.    UWORD        FI_GlobalFileClass      ; global file class definition
  40.  
  41.    * V2 fields *
  42.  
  43.    UWORD    FI_DLPackNum        ; Decrunch.library internal PackNum
  44.    UBYTE    FI_DLPackType        ; Decrunch.library packer type
  45.    UBYTE    FI_PackFlags        ; special flags for crunched files
  46.  
  47.    LABEL    FI_SIZEOF * FI_FileInfo
  48.  
  49.  
  50. ID_MAXLENGTH    EQU    35        ; Maximum file description length
  51.                     ; (also error messages max_length)
  52.  
  53. *
  54. * Global file class definitions *
  55. *
  56. * The global class definition gives you some primary information about the
  57. * global file type. This is useful if you want to know about e.g. a file
  58. * is packed.
  59. * For example, a PowerPacker password crunched executable gets a global
  60. * class value of $0007 ( EXECUTABLE|PACKED|ENCRYPTED )
  61. *
  62. * Note that on some special data formats, like e.g. IFF-ILBM files with
  63. * crunched bitmap chunks, bit 1 isn't set. If an IFF picture was packed
  64. * (e.g. using Xpk), FileID.library would report an Xpk compressed file,
  65. * not an IFF picture. Do not mischange this.
  66. * For example, NoisePacker modules or JPEG pictures DON'T have bit 1 set,
  67. * even when everybody knows that these files contain packed data. Got me ?
  68. *
  69. * FIGFC_GRAFIC_IMAGE does NOT include any 2-D or 3-D rendering data formats,
  70. * like imagine objects, vector fonts etc. Somtimes, it was really hard to
  71. * decide if this bit should be set or not. So please treat bit #5 as a kind
  72. * of help, not as warranty.
  73. *
  74.  
  75.     BITDEF    FIGFC,EXECUTABLE,0    ; executable file
  76.     BITDEF    FIGFC,PACKED,1        ; file is packed/crunched
  77.     BITDEF    FIGFC,ENCRYPTED,2    ; encrypted file, may need a password
  78.     BITDEF    FIGFC,IFF_HEADER,3    ; file has "FORM" IFF header
  79.     BITDEF    FIGFC,MUSIC_SCORE,4    ; sound module / music score (song)
  80.     BITDEF    FIGFC,GRAPHIC_IMAGE,5    ; picture/brush, anim or color palette
  81.     BITDEF    FIGFC,FORMATTED_TEXT,6    ; special formatted text file
  82.     BITDEF    FIGFC,SCRIPT,7        ; script file
  83.  
  84.  
  85. * FI_DLPackType
  86.  
  87. PTYP_RELOC  EQU 0               ; normal relocatible loadfile
  88. PTYP_ABS    EQU 1               ; absolute adress decruncher
  89. PTYP_DATA   EQU 2               ; data file
  90.  
  91.  
  92. * FI_PackFlags *
  93.  
  94.     BITDEF    FIPF,KILLSYS,0        ; file has KillSys decrunch header
  95.  
  96.     * V 3 *
  97.  
  98.     BITDEF    FIPF,PPMM,1        ; crunched with PPx.x in "master mode"
  99.  
  100.  
  101. * FileID error codes returned by FIIdentifyFromName() *
  102.  
  103. ERR_FILOCKFAILED    EQU    -1    ; couldn't get entry lock.
  104. ERR_FIEXAMINEFAILED    EQU    -2    ; couldn't examine entry.
  105. ERR_FIOPENFAILED    EQU    -3    ; couldn't open file.
  106. ERR_FIOUTOFMEM        EQU    -4    ; out of memory.
  107. ERR_FIREADERROR        EQU    -5    ; file read error.
  108. ERR_EMPTYFILE        EQU    -6    ; filesize is ZERO.
  109. ERR_NONAME        EQU    -7    ; the passed filename is empty.
  110.  
  111. * Library base *
  112.  
  113.  STRUCTURE FileIDBase,LIB_SIZE
  114.  
  115.    * LIBRARY PRIVATE *
  116.  
  117.    UBYTE   FI_Flags        ; see also:
  118.    UBYTE   FI_pad        ; "sample.library.asm", documented in the
  119.    ULONG   FI_SegList        ; Amiga ROM Kernel Reference Manual: Libraries
  120.  
  121.    * PUBLIC FIELDS *        ; may be READ from your program
  122.  
  123.    ULONG   FI_DosBase        ; dos.library base address
  124.  
  125.    * V5 *
  126. *
  127. * If locale.library V38+ or FileID_lib.catalog couldn't be opened, the
  128. * two following fields will both contain NULL.
  129. *
  130.  
  131.    APTR    FI_LocaleBase    ; locale.library V38+ base address
  132.    APTR    FI_FIDCat        ; address of the library locale catalog
  133.  
  134.    * V6 *
  135.  
  136.    LONG    FI_HighID        ; -for the hackers. See FIGetHighID()
  137.  
  138.    LABEL   FileIDBase_SIZEOF
  139.  
  140.  
  141.  ENDC    ; LIBRARIES_FILEID_I
  142.